package com.example.leo.mycharmingstudent.a0831;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import com.example.leo.mycharmingstudent.R;

public class StartActivity extends AppCompatActivity {

    private static final String TAG = "StartActivity";

    //跳转到登录界面按钮
    private TextView tvJump;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start);


        findViews();
        initData();
        initEvent();

        /*
        Handler：子线程的操作需要在主线程中进行
        举个栗子：
        我创建了一个子线程，此时，我想改变TextView（控件属于UI）显示的文本，
        子线程当中不可以修改TextView显示的文本，
        只能切换到主线程修改TextView显示的文本

        如何切换到主线程？Handler
         */
        /*Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                //跳转到登录页面
                startActivity(new Intent(StartActivity.this,
                        LoginActivity.class));
            }
        }, 5000);*/
    }

    private void findViews() {
        tvJump = findViewById(R.id.tv_jump_activity_start);
    }

    private void initData() {

    }

    private void initEvent() {
        tvJump.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //跳转到登录页面
                startActivity(new Intent(StartActivity.this,
                        LoginActivity.class));
                finish();

                //测试验证singleTask这种启动模式，
                // 所以启动TestSingleTaskActivity
                /*startActivity(new Intent(StartActivity.this,
                        TestSingleTaskActivity.class));
                finish();*/
            }
        });
    }

    /**
     * onNewIntent方法
     * 不创建activity实例或者activity对象的时候调用
     * 简单理解：
     * 1.使用singleTask启动模式
     * 2.如果栈内存在Activity实例，则不重新创建，回调onNewIntent方法
     * @param intent 意图
     */
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Log.e(TAG,"我使用了SingleTask启动模式，栈内有我（此Activity实例），" +
                "我不重新创建，" +
                "我回调onNewIntent方法");
    }
}
